//
//  ST_QuickStartProfileController.swift
//  btvideo
//
//  Created by mac on 2021/3/16.
//  Copyright © 2021 JarvanZhang. All rights reserved.
//

import UIKit
import SwiftyJSON
import SwiftyUserDefaults
import SwiftyAttributes

class ST_QuickStartProfileController: UIViewController,ST_RegisterRouteProtocol{
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        back_thread_execute(afterDelay: 1) {
            ST_RegisterMonitor.shared.logger.report(fromController: self)
        }
        
        view.backgroundColor = .white
        view.addSubview(titleLabel)
        titleLabel.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.top.equalToSuperview().offset(73-20+statusBarHeight)
            make.height.equalTo(24)
        }
        
        view.addSubview(content_label)
        content_label.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.top.equalToSuperview().offset(107-20+statusBarHeight)
            make.height.equalTo(20)
        }
        
        view.addSubview(nickname_view)
        nickname_view.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.right.equalToSuperview().offset(-30)
            make.height.equalTo(50)
            make.top.equalToSuperview().offset(157-20+statusBarHeight)
        }
        
        view.addSubview(birthday_view)
        birthday_view.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.right.equalToSuperview().offset(-30)
            make.height.equalTo(50)
            make.top.equalTo(nickname_view.snp.bottom).offset(20)
        }
        
//        view.addSubview(wantSeekView)
//        wantSeekView.snp.makeConstraints { (make) in
//            make.left.equalToSuperview().offset(30)
//            make.right.equalToSuperview().offset(-30)
//            make.height.equalTo(50)
//            make.top.equalTo(birthday_view.snp.bottom).offset(20)
//        }
        
        
        
        view.addSubview(invite_code_view)
        invite_code_view.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.right.equalToSuperview().offset(-30)
            make.height.equalTo(50)
//            make.top.equalTo(wantSeekView.snp.bottom).offset(20)
            make.top.equalTo(birthday_view.snp.bottom).offset(20)
        }
        
        view.addSubview(gender_sub_label)
        gender_sub_label.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.top.equalTo(invite_code_view.snp.bottom).offset(30)
            make.height.equalTo(24)
        }
        
        view.addSubview(male_gender_btn)
        male_gender_btn.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(30)
            make.top.equalTo(gender_sub_label.snp.bottom).offset(30)
            make.height.equalTo(50)
            make.width.equalTo(100)
        }
        
        view.addSubview(female_gender_btn)
        female_gender_btn.snp.makeConstraints { (make) in
            make.width.height.centerY.equalTo(male_gender_btn)
            make.left.equalTo(male_gender_btn.snp.right).offset(20)
        }
     
        view.addSubview(self.next_btn)
        next_btn.snp.makeConstraints { (make) in
            make.right.equalToSuperview().offset(-40)
            make.top.equalTo(female_gender_btn.snp.bottom).offset(40)
            make.width.height.equalTo(45)
        }
        
        bind_normal_data()
        
        
        NotificationCenter.default.addObserver(self, selector: #selector(text_did_change_handle), name: UITextField.textDidChangeNotification, object: nil)
    }
    
    
    fileprivate func bind_normal_data(){
        
        if let nickname = ST_RegisterMonitor.shared.regist_response_account()?.userinfo?.nickname,nickname.count > 0{
            nickname_view.textFiled.text = nickname
            temporary_nickname = nickname
            text_did_change_handle()
        }else if let str0 = nameArray0.randomElement(),let str1 = nameArray1.randomElement(){
            let nickname = str0 + str1
            nickname_view.textFiled.text = nickname
            temporary_nickname = nickname
            text_did_change_handle()
        }
        
        if let pas = UIPasteboard.general.string,pas.isAlphabetic && pas.count == 6{
            invite_code_view.textFiled.text = pas
        }
        
        
        birthday_pick_action(date: minimum_birhday)
    }
    
    //    MARK: - private method
    @objc fileprivate func pickGender(sender:UIButton){
        
        if sender.isSelected{
            return
        }
        
        sender.isSelected = true
        last_selected_gender_btn.isSelected = false
        last_selected_gender_btn = sender
        
        selected_gender = sender == male_gender_btn ? 1 : 2
        
    }
    @objc fileprivate func text_did_change_handle(){
        
        self.temporary_nickname = self.nickname_view.textFiled.text
        
    }
    
    fileprivate func update_next_button_status(){
        
        next_btn.isEnabled = request_paramters != nil
        
    }
    
    
    fileprivate func push_profile_handle(){
        
        guard var params = request_paramters else{
            return
        }
        
        if let avatar = ST_RegisterMonitor.shared.regist_response_account()?.userinfo?.avatar{
            
            params.updateValue(avatar, forKey: "avatar")
            
            params.updateValue(132.string, forKey: "width")
            
            params.updateValue(132.string, forKey: "height")
            
        }
        
        if let pas = invite_code_view.textFiled.text , pas.isAlphabetic && pas.count == 6 {
            params.updateValue(pas, forKey: "invitation_code")
        }
        
        
        self.pushNextRegisterController(parameters: params)
        
    }
    
    @objc fileprivate func next_action(){
        
        PlayFeedBack()
        
        let attrString = NSMutableAttributedString(string: "提示")
        let attr: [NSAttributedString.Key : Any] = [.font: UIFont.systemFont(ofSize: 18, weight: UIFont.Weight.medium),.foregroundColor: UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1)]
        attrString.addAttributes(attr, range: NSRange(location: 0, length: attrString.length))
        
        let messageAttrString = NSMutableAttributedString(string: "性别选定后无法修改")
        let attr2: [NSAttributedString.Key : Any] = [.font: UIFont.systemFont(ofSize: 14),.foregroundColor: UIColor(red: 0.38, green: 0.4, blue: 0.44, alpha: 1)]
        messageAttrString.addAttributes(attr2, range: NSRange(location: 0, length: messageAttrString.length))
        
        
        let alert = ST_BTAlertViewController.init(title: attrString, message: messageAttrString, imageName: "首页_icon_提示")
        
        alert.overCurrentContext = true
        
        alert.over_current_context_alpha = "0.4"
        
        alert.confirm_closure = {
            
            self.push_profile_handle()
        }
        
        GlobalPresent(toController: alert, animated: false)
        
    }
    
    @objc func birthday_pick_action(date:Date){
        
        let formatter = DateFormatter()
        //日期样式
        formatter.dateFormat = "yyyy/MM/dd"
        
        let str =  formatter.string(from: date)
        
        self.birthday_view.valueString = str
        
        self.select_date = str
    }
    
    @objc func select_birth_day_action(){
        
        self.view.endEditing(true)
        
        if self.pickerView.superview == nil {
            
            self.view.addSubview(self.pickerView)
            pickerView.snp.makeConstraints { (make) in
                make.left.bottom.right.equalTo(self.view)
                make.height.equalTo(ST_BirthdayPickerView.height)
            }
            
            
        }
        
        if let date = self.select_date?.date(withFormat: "yyyy/MM/dd"){
            self.pickerView.setBirthDay(date: date)
        }else{
            self.pickerView.setBirthDay(date: minimum_birhday)
        }
        
        self.pickerView.isHidden = false
        
    }
    
    
    //    MARK: - Random Name
    fileprivate lazy var nameArray1:[String] = {
        return [
            "嚓茶",
            "凉面",
            "便当",
            "毛豆",
            "花生",
            "可乐",
            "灯泡",
            "哈密瓜",
            "野狼",
            "背包",
            "眼神",
            "缘分",
            "雪碧",
            "人生",
            "牛排",
            "蚂蚁",
            "飞鸟",
            "灰狼",
            "斑马",
            "汉堡",
            "悟空",
            "巨人",
            "绿茶",
            "自行车",
            "保温杯",
            "大碗",
            "墨镜",
            "魔镜",
            "煎饼",
            "月饼",
            "月亮",
            "星星",
            "芝麻",
            "啤酒",
            "玫瑰",
            "大叔",
            "小伙",
            "哈密瓜",
            "数据线",
            "太阳",
            "树叶",
            "芹菜",
            "黄蜂",
            "蜜粉",
            "蜜蜂",
            "信封",
            "西装",
            "外套",
            "裙子",
            "大象",
            "猫咪",
            "母鸡",
            "路灯",
            "蓝天",
            "白云",
            "星月",
            "彩虹",
            "微笑",
            "摩托",
            "板栗",
            "高山",
            "大地",
            "大树",
            "电灯胆",
            "砖头",
            "楼房",
            "水池",
            "鸡翅",
            "蜻蜓",
            "红牛",
            "咖啡",
            "机器猫",
            "枕头",
            "大船",
            "诺言",
            "钢笔",
            "刺猬",
            "天空",
            "飞机",
            "大炮",
            "冬天",
            "洋葱",
            "春天",
            "夏天",
            "秋天",
            "冬日",
            "航空",
            "毛衣",
            "豌豆",
            "黑米",
            "玉米",
            "眼睛",
            "老鼠",
            "白羊",
            "帅哥",
            "美女",
            "季节",
            "鲜花",
            "服饰",
            "裙子",
            "白开水",
            "秀发",
            "大山",
            "火车",
            "汽车",
            "歌曲",
            "舞蹈",
            "老师",
            "导师",
            "方盒",
            "大米",
            "麦片",
            "水杯",
            "水壶",
            "手套",
            "鞋子",
            "自行车",
            "鼠标",
            "手机",
            "电脑",
            "书本",
            "奇迹",
            "身影",
            "香烟",
            "夕阳",
            "台灯",
            "宝贝",
            "未来",
            "皮带",
            "钥匙",
            "心锁",
            "故事",
            "花瓣",
            "滑板",
            "画笔",
            "画板",
            "学姐",
            "店员",
            "电源",
            "饼干",
            "宝马",
            "过客",
            "大白",
            "时光",
            "石头",
            "钻石",
            "河马",
            "犀牛",
            "西牛",
            "绿草",
            "抽屉",
            "柜子",
            "往事",
            "寒风",
            "路人",
            "橘子",
            "耳机",
            "鸵鸟",
            "朋友",
            "苗条",
            "铅笔",
            "钢笔",
            "硬币",
            "热狗",
            "大侠",
            "御姐",
            "萝莉",
            "毛巾",
            "期待",
            "盼望",
            "白昼",
            "黑夜",
            "大门",
            "黑裤",
            "钢铁侠",
            "哑铃",
            "板凳",
            "枫叶",
            "荷花",
            "乌龟",
            "仙人掌",
            "衬衫",
            "大神",
            "草丛",
            "早晨",
            "心情",
            "茉莉",
            "流沙",
            "蜗牛",
            "战斗机",
            "冥王星",
            "猎豹",
            "棒球",
            "篮球",
            "乐曲",
            "电话",
            "网络",
            "世界",
            "中心",
            "鱼",
            "鸡",
            "狗",
            "老虎",
            "鸭子",
            "雨",
            "羽毛",
            "翅膀",
            "外套",
            "火",
            "丝袜",
            "书包",
            "钢笔",
            "冷风",
            "八宝粥",
            "烤鸡",
            "大雁",
            "音响",
            "招牌",
            "胡萝卜",
            "冰棍",
            "帽子",
            "菠萝",
            "蛋挞",
            "香水",
            "泥猴桃",
            "吐司",
            "溪流",
            "黄豆",
            "樱桃",
            "小鸽子",
            "小蝴蝶",
            "爆米花",
            "花卷",
            "小鸭子",
            "小海豚",
            "日记本",
            "小熊猫",
            "小懒猪",
            "小懒虫",
            "荔枝",
            "镜子",
            "曲奇",
            "金针菇",
            "小松鼠",
            "小虾米",
            "酒窝",
            "紫菜",
            "金鱼",
            "柚子",
            "果汁",
            "百褶裙",
            "项链",
            "帆布鞋",
            "火龙果",
            "奇异果",
            "煎蛋",
            "唇彩",
            "小土豆",
            "高跟鞋",
            "戒指",
            "雪糕",
            "睫毛",
            "铃铛",
            "手链",
            "香氛",
            "红酒",
            "月光",
            "酸奶",
            "银耳汤",
            "咖啡豆",
            "小蜜蜂",
            "小蚂蚁",
            "蜡烛",
            "棉花糖",
            "向日葵",
            "水蜜桃",
            "小蝴蝶",
            "小刺猬",
            "小丸子",
            "指甲油",
            "康乃馨",
            "糖豆",
            "薯片",
            "口红",
            "超短裙",
            "乌冬面",
            "冰淇淋",
            "棒棒糖",
            "长颈鹿",
            "豆芽",
            "发箍",
            "发卡",
            "发夹",
            "发带",
            "铃铛",
            "小馒头",
            "小笼包",
            "小甜瓜",
            "冬瓜",
            "香菇",
            "小兔子",
            "含羞草",
            "短靴",
            "睫毛膏",
            "小蘑菇",
            "跳跳糖",
            "小白菜",
            "草莓",
            "柠檬",
            "月饼",
            "百合",
            "纸鹤",
            "小天鹅",
            "云朵",
            "芒果",
            "面包",
            "海燕",
            "小猫咪",
            "龙猫",
            "唇膏",
            "鞋垫",
            "羊",
            "黑猫",
            "白猫",
            "万宝路",
            "金毛",
            "山水",
            "音响"
         ]
    }()
    
    fileprivate lazy var nameArray0:[String] = {
       
        return [
           "快乐的",
           "冷静的",
           "醉熏的",
           "潇洒的",
           "糊涂的",
           "积极的",
           "冷酷的",
           "深情的",
           "粗暴的",
           "温柔的",
           "可爱的",
           "愉快的",
           "义气的",
           "认真的",
           "威武的",
           "帅气的",
           "传统的",
           "潇洒的",
           "漂亮的",
           "自然的",
           "专一的",
           "听话的",
           "昏睡的",
           "狂野的",
           "等待的",
           "搞怪的",
           "幽默的",
           "魁梧的",
           "活泼的",
           "开心的",
           "高兴的",
           "超帅的",
           "留胡子的",
           "坦率的",
           "直率的",
           "轻松的",
           "痴情的",
           "完美的",
           "精明的",
           "无聊的",
           "有魅力的",
           "丰富的",
           "繁荣的",
           "饱满的",
           "炙热的",
           "暴躁的",
           "碧蓝的",
           "俊逸的",
           "英勇的",
           "健忘的",
           "故意的",
           "无心的",
           "土豪的",
           "朴实的",
           "兴奋的",
           "幸福的",
           "淡定的",
           "不安的",
           "阔达的",
           "孤独的",
           "独特的",
           "疯狂的",
           "时尚的",
           "落后的",
           "风趣的",
           "忧伤的",
           "大胆的",
           "爱笑的",
           "矮小的",
           "健康的",
           "合适的",
           "玩命的",
           "沉默的",
           "斯文的",
           "香蕉",
           "苹果",
           "鲤鱼",
           "鳗鱼",
           "任性的",
           "细心的",
           "粗心的",
           "大意的",
           "甜甜的",
           "酷酷的",
           "健壮的",
           "英俊的",
           "霸气的",
           "阳光的",
           "默默的",
           "大力的",
           "孝顺的",
           "忧虑的",
           "着急的",
           "紧张的",
           "善良的",
           "凶狠的",
           "害怕的",
           "重要的",
           "危机的",
           "欢喜的",
           "欣慰的",
           "满意的",
           "跳跃的",
           "诚心的",
           "称心的",
           "如意的",
           "怡然的",
           "娇气的",
           "无奈的",
           "无语的",
           "激动的",
           "愤怒的",
           "美好的",
           "感动的",
           "激情的",
           "激昂的",
           "震动的",
           "虚拟的",
           "超级的",
           "寒冷的",
           "精明的",
           "明理的",
           "犹豫的",
           "忧郁的",
           "寂寞的",
           "奋斗的",
           "勤奋的",
           "现代的",
           "过时的",
           "稳重的",
           "热情的",
           "含蓄的",
           "开放的",
           "无辜的",
           "多情的",
           "纯真的",
           "拉长的",
           "热心的",
           "从容的",
           "体贴的",
           "风中的",
           "曾经的",
           "追寻的",
           "儒雅的",
           "优雅的",
           "开朗的",
           "外向的",
           "内向的",
           "清爽的",
           "文艺的",
           "长情的",
           "平常的",
           "单身的",
           "伶俐的",
           "高大的",
           "懦弱的",
           "柔弱的",
           "爱笑的",
           "乐观的",
           "耍酷的",
           "酷炫的",
           "神勇的",
           "年轻的",
           "唠叨的",
           "瘦瘦的",
           "无情的",
           "包容的",
           "顺心的",
           "畅快的",
           "舒适的",
           "靓丽的",
           "负责的",
           "背后的",
           "简单的",
           "谦让的",
           "彩色的",
           "缥缈的",
           "欢呼的",
           "生动的",
           "复杂的",
           "慈祥的",
           "仁爱的",
           "魔幻的",
           "虚幻的",
           "淡然的",
           "受伤的",
           "雪白的",
           "高高的",
           "糟糕的",
           "顺利的",
           "闪闪的",
           "羞涩的",
           "缓慢的",
           "迅速的",
           "优秀的",
           "聪明的",
           "含糊的",
           "俏皮的",
           "淡淡的",
           "坚强的",
           "平淡的",
           "欣喜的",
           "能干的",
           "灵巧的",
           "友好的",
           "机智的",
           "机灵的",
           "正直的",
           "谨慎的",
           "俭朴的",
           "殷勤的",
           "虚心的",
           "辛勤的",
           "自觉的",
           "无私的",
           "无限的",
           "踏实的",
           "老实的",
           "现实的",
           "可靠的",
           "务实的",
           "拼搏的",
           "个性的",
           "粗犷的",
           "活力的",
           "成就的",
           "勤劳的",
           "单纯的",
           "落寞的",
           "朴素的",
           "悲凉的",
           "忧心的",
           "洁净的",
           "清秀的",
           "自由的",
           "小巧的",
           "单薄的",
           "贪玩的",
           "刻苦的",
           "干净的",
           "壮观的",
           "和谐的",
           "文静的",
           "调皮的",
           "害羞的",
           "安详的",
           "自信的",
           "端庄的",
           "坚定的",
           "美满的",
           "舒心的",
           "温暖的",
           "专注的",
           "勤恳的",
           "美丽的",
           "腼腆的",
           "优美的",
           "甜美的",
           "甜蜜的",
           "整齐的",
           "动人的",
           "典雅的",
           "尊敬的",
           "舒服的",
           "妩媚的",
           "秀丽的",
           "喜悦的",
           "甜美的",
           "彪壮的",
           "强健的",
           "大方的",
           "俊秀的",
           "聪慧的",
           "迷人的",
           "陶醉的",
           "悦耳的",
           "动听的",
           "明亮的",
           "结实的",
           "魁梧的",
           "标致的",
           "清脆的",
           "敏感的",
           "光亮的",
           "大气的",
           "老迟到的",
           "知性的",
           "冷傲的",
           "呆萌的",
           "野性的",
           "隐形的",
           "笑点低的",
           "微笑的",
           "笨笨的",
           "难过的",
           "沉静的",
           "火星上的",
           "失眠的",
           "安静的",
           "纯情的",
           "要减肥的",
           "迷路的",
           "烂漫的",
           "哭泣的",
           "贤惠的",
           "苗条的",
           "温婉的",
           "发嗲的",
           "会撒娇的",
           "贪玩的",
           "执着的",
           "眯眯眼的",
           "花痴的",
           "想人陪的",
           "眼睛大的",
           "高贵的",
           "傲娇的",
           "心灵美的",
           "爱撒娇的",
           "细腻的",
           "天真的",
           "怕黑的",
           "感性的",
           "飘逸的",
           "怕孤独的",
           "忐忑的",
           "高挑的",
           "傻傻的",
           "冷艳的",
           "爱听歌的",
           "还单身的",
           "怕孤单的",
           "懵懂的"
        ]
        
    }()
    
    
    
    //    MARK: - Temporary Info
    fileprivate var temporary_nickname:String?{
        didSet{
            update_next_button_status()
        }
    }
    
    fileprivate var select_date:String?{
        didSet{
            update_next_button_status()
        }
    }
    
    //    1 男 ,2 女
    fileprivate var selected_gender = 1
    
    fileprivate var request_paramters:[String:String]?{
        get{
            
            guard let nickname = temporary_nickname,nickname.count > 0,let birthday = select_date else { return nil }
            
            let birthStr = birthday.replacingOccurrences(of: "/", with: "-")
            
            return ["nickname":nickname,"birth":birthStr,"gender":selected_gender.string]
            
        }set{}
    }
    
    //    MARK: - Properties
    fileprivate lazy var next_btn:UIButton = {
        
        let control = UIButton.init(type: UIButton.ButtonType.custom)
        
        control.setImageForAllStates(ST_ImageUtils.imageName("register_bot_下一步")!)
        
        control.setImage(ST_ImageUtils.imageName("register_bot_下一步diss"), for: UIControl.State.disabled)
        
        control.addTarget(self, action: #selector(next_action), for: UIControl.Event.touchUpInside)
        
        control.isEnabled = false
        
        return control
    }()
    
    
    fileprivate lazy var option_array = [ModifyUserItemCellModel]()
    
    fileprivate lazy var pickerView:ST_BirthdayPickerView = {
        
        let control = ST_BirthdayPickerView()
        
        control.confirm_pick_closure = {[weak self] date in
            self?.birthday_pick_action(date: date)
        }
        return control
    }()
    /**
     注册用户最小17岁
     */
    fileprivate lazy var minimum_birhday:Date = {
        let date = Date().adding(Calendar.Component.year, value: -18)
        return date
    }()
    
    
    
    fileprivate lazy var titleLabel:UILabel = {
        let control = UILabel.init()
        control.text = "请填写你的资料"
        control.textColor = UIColor(hexString: "#333333")
        control.numberOfLines = 0
        control.font = UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.semibold)
        return control
    }()
    
    fileprivate lazy var content_label:UILabel = {
        let control = UILabel.init()
        control.text = "真实信息可以提高自身魅力和匹配度哦～"
        control.textColor = UIColor(hexString: "#999999")
        control.font = UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)
        return control
    }()
    
    fileprivate lazy var nickname_view:ST_SigninInputBoxView = {
        let control = ST_SigninInputBoxView()
        let str = "嗨，你叫什么名字？".withAttributes([Attribute.font(UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)),Attribute.textColor(UIColor.init(hex: 0x999999)!)])
        control.textFiled.attributedPlaceholder = str
        return control
    }()
    
    fileprivate lazy var invite_code_view:ST_SigninInputBoxView = {
        let control = ST_SigninInputBoxView()
        let str = "邀请码丨可不填".withAttributes([Attribute.font(UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)),Attribute.textColor(UIColor.init(hex: 0x999999)!)])
        control.textFiled.attributedPlaceholder = str
        return control
    }()
    
    fileprivate lazy var birthday_view:ST_QuickStartProfileOptionView = {
        let control = ST_QuickStartProfileOptionView()
        control.placeholder = ("你的生日是哪天？","匹配度提高90%")
        control.addTarget(self, action: #selector(select_birth_day_action), for: UIControl.Event.touchUpInside)
        return control
    }()
    
    
    fileprivate lazy var gender_sub_label:UILabel = {
        
        let control = UILabel.init()
        
        let str = "你的性别是？".withAttributes([Attribute.font(UIFont.systemFont(ofSize: 17, weight: UIFont.Weight.semibold)),Attribute.textColor(UIColor.init(hex: 0x333333)!)])
        
        let str0 = "注册后性别不可修改哦！".withAttributes([Attribute.font(UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)),Attribute.textColor(UIColor.init(hex: 0x999999)!)])
        
        str.append(str0)
        
        control.attributedText = str
        
        return control
    }()
    
    
    
    fileprivate lazy var male_gender_normal_background_image = ST_ImageUtils.imageName("regist_male_icon")!
    
    fileprivate lazy var male_gender_selected_background_image = ST_ImageUtils.imageName("regist_male_icon_sel")!
    
    
    fileprivate lazy var female_gender_normal_background_image = ST_ImageUtils.imageName("regist_female_icon")!
    
    fileprivate lazy var female_gender_selected_background_image = ST_ImageUtils.imageName("regist_female_icon_sel")!
    
    
    
    fileprivate lazy var last_selected_gender_btn = male_gender_btn
    
    fileprivate lazy var male_gender_btn:UIButton = {
            
        let control = UIButton.init(type: UIButton.ButtonType.custom)
        control.setBackgroundImage(male_gender_normal_background_image, for: UIControl.State.normal)
        control.setBackgroundImage(male_gender_selected_background_image, for: UIControl.State.selected)
        control.cornerRadius = 50/2.0
            control.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.semibold)
        control.isSelected = true
        
        
        control.addTarget(self, action: #selector(pickGender(sender:)), for: UIControl.Event.touchUpInside)
        return control
    }()

    fileprivate lazy var female_gender_btn:UIButton = {
            
        let control = UIButton.init(type: UIButton.ButtonType.custom)
        control.setBackgroundImage(female_gender_normal_background_image, for: UIControl.State.normal)
        control.setBackgroundImage(female_gender_selected_background_image, for: UIControl.State.selected)
        control.cornerRadius = 50/2.0
            control.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.semibold)
   
        control.addTarget(self, action: #selector(pickGender(sender:)), for: UIControl.Event.touchUpInside)
        return control
    }()
    
    
}




//MARK: - Child Box
fileprivate class ST_QuickStartProfileBoxView: UIControl {
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        self.backgroundColor = UIColor.init(hex: 0xF5F5F5)
        
        self.cornerRadius = 50/2.0
        
        self.addSubview(nav_image_view)
        nav_image_view.snp.makeConstraints { (make) in
            make.width.height.equalTo(16)
            make.centerY.equalToSuperview()
            make.right.equalToSuperview().offset(-20)
        }
        
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    fileprivate lazy var nav_image_view:UIImageView = {
        
        let control = UIImageView.init(image: ST_ImageUtils.imageName("个人中心_icon_下一页_small"))
        
        return control
    }()
}

//MARK:
fileprivate class ST_QuickStartProfileOptionView:ST_QuickStartProfileBoxView{
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        self.addSubview(rightDescribeLabel)
        rightDescribeLabel.snp.makeConstraints { (make) in
            make.centerY.equalToSuperview()
            make.right.equalTo(nav_image_view.snp.left).offset(-5)
        }
        
        self.addSubview(titleLabel)
        titleLabel.snp.makeConstraints { (make) in
            make.left.equalToSuperview().offset(20)
            make.centerY.equalToSuperview()
        }
        
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    fileprivate lazy var rightDescribeLabel:UILabel = {
        let control = UILabel.init()
        control.textColor = UIColor(hexString: "#999999")
        control.font = UIFont.systemFont(ofSize: 12, weight: UIFont.Weight.regular)
        return control
    }()
    
    
    fileprivate lazy var titleLabel:UILabel = {
        let control = UILabel.init()
        control.textColor = UIColor(hexString: "#999999")
        control.font = UIFont.systemFont(ofSize: 14, weight: UIFont.Weight.regular)
        return control
    }()
    
    var placeholder:(String,String) = ("",""){
        didSet{
            
            titleLabel.text = placeholder.0
            
            rightDescribeLabel.text = placeholder.1
        }
    }
    
    var valueString = ""{
        didSet{
            
            titleLabel.text = valueString
            
            titleLabel.textColor = UIColor.init(hex: 0x333333)
            
            titleLabel.font = UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.semibold)
            
            rightDescribeLabel.text = ""
        }
    }
    
}




//MARK:

fileprivate class ST_SigninInputBoxView:ST_QuickStartProfileBoxView{
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        self.addSubview(textFiled)
        textFiled.snp.makeConstraints { (make) in
            make.edges.equalToSuperview().inset(UIEdgeInsets.init(top: 0, left: 20, bottom: 0, right: 15))
        }
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    lazy var textFiled:UITextField = {
        let control = UITextField()
        control.textColor = UIColor.init(hex: 0x333333)
        control.font = UIFont.systemFont(ofSize: 16, weight: UIFont.Weight.semibold)
        control.tintColor = UIColor.init(hex: 0x333333)
        control.clearButtonMode = .whileEditing
//        control.becomeFirstResponder()
        return control
    }()
    
}
